您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

IPv4/IPv6双栈IP-DSLAM系统及实现方法

  • 申请号:CN200610169728.2 申请公布号: CN1988510A
  • 申请日: 2006-12-28 申请公布日: 2007-06-27
  • 申请(专利权)人: 专利代理机构: 北京市商泰律师事务所
  • 分类号:H04L12/56;H04L29/06

专利介绍

一种IPv4/IPv6双栈IP-DSLAM系统及实现方法:该系统从硬件上分为前端处理专用芯片和IXP2350网络处理器两部分,前端处理专用芯片主要是完成将多路低速的ADSL线路上的数据流进行复用,并完成调制解调功能。在网络处理器软件的设计上,分为数据层面和控制层面,在每个层面上进行模块化设计,在数据面上依次通过进行数据包接收、数据包处理、队列调度、数据包发送各个步骤,在控制面上,运行动态路由协议、网管协议、PPPoE协议,实现了对IPv4/IPv6双协议的支持,完成PPPoE链路的建立、会话、拆除及认证、计费、管理功能。整体上完成了将ADSL线路数据包的复用接入到骨干网中的功能。
1.一种IPv4/IPv6双栈IP-DSLAM系统,其特征是:包括两大部分:一是 数据面的功能实现模块;二是控制面上运行嵌入式操作模块; 数据面的功能实现模块包括以下几个模块: 1)有主要完成数据包的接收和重组的数据接收模块; 2)有对于上行数据包首先进行LLC/SNAP解封装,PPPoE解封装,然后送 入IPv4/IPv6转发模块,进行路由查询,根据IPv4/IPv6路由表进行转发,然后 封装上L2头部发往下一个模块;对于下行数据包首先进行L2解封装,然后送 入IPv4/IPv6转发模块,进行路由查询,根据IPv4/IPv6路由表进行转发,再进 行LLC/SNAP封装后发送到下一个模块数据包处理模块; 3)有调度模块运行特定的调度算法,执行调度操作,在多条发送队列之间 进行资源分配和区分服务的调度和队列管理模块; 4)有主要完成将相应的数据包从指定的Port发送出去的发送模块; 有负责整个IP-DSLAM系统的高层控制和管理,运行RIP(RIPng)、BGP (BGP4+)、OSPF(OSPFv3)等动态路由协议,完成PPPoE功能的控制面上运行 嵌入式操作模块。
2.根据权利要求1所述的一种IPv4/IPv6双栈IP-DSLAM系统,其特征是: 控制面采用模块化,控制面包括以下几个模块: 1)有运行PPPoE协议,维护用户的PPPoE选项,完成PPPoE链路的建立、 会话、拆除及认证、计费、管理(BAS)功能的模块; 2)运行路由协议、网管协议,处理ARP、路由等异常数据包的模块; 3)数据面上的每一个模块在控制面上都有一个相应的模块与之对应,负 责管理数据面上每个模块。
3.根据权利要求1或2所述的一种IPv4/IPv6双栈IP-DSLAM系统,其特征是: 上行数据处理和下行数据处理独立设计,根据具体网络中上下行数据的速率, 可以通过调整数据面线程数的分配来实现对上下行速率的调整。
4.根据权利要求1所述的一种IPv4/IPv6双栈IP-DSLAM系统,其特征是: 同时运行有IPv4、IPv6协议,能够对同时实现对IPv4、IPv6两种形式的数据 包进行处理。
5.一种IPv4/IPv6双栈IP-DSLAM的实现方法,其特征是:包括如下步骤: 数据面的实现: 步骤1:数据包的接收和重组:上行处理完成对ATM信元的接收,并 将其中的PPPoE数据包解封装出来;下行处理是完成从MSF接收数据包分 片,将属于同一个数据包的数据包分片按顺序组装得到完整的数据包,并且 创建关于该数据包的描述信息; 步骤2:数据包的处理:上行处理完成对数据包进行LLC解封装和 PPPoE解封装,然后进行路由查询、转发,封装上二层头部;下行处理完成 进行二层解封装,然后进行路由查询、转发,再进行LLC/SNAP封装; 步骤3:调度和队列管理:上行和下行的处理是类似的,都是根据发 送队列的优先级不同,运行特定的调度算法,执行调度操作,在多条发送队 列之间进行资源分配和区分服务并,完成对发送队列执行入队和出队操作; 步骤4:数据包的发送:接收来自上一步调度和队列管理的发送请求, 将相应的数据包从指定的端口发送出去,上行发送主要是完成对以太网包的 发送,下行主要是完成对ATM信元的发送,同时把发送状态报告给上一步的 队列调度和管理; 控制面实现: 步骤1:系统的初始化:加载各个微引擎上的数据处理模块及与之对 应的控制面模块,并完成二者间的通信过程; 步骤2:运行RIP(RIPng)、BGP(BGP4+)、OSPF(OSPFv3)等动态路 由协议、网管协议:监视内核路由表,将其中变化的路由条目提取出来, 下发给路由表; 步骤3:运行PPPoE协议,维护用户的PPPoE选项,完成PPPoE链 路的建立、会话、拆除及认证、计费、管理(BAS)功能。 技术领域 本发明涉及一种IPv4/IPv6双栈IP-DSLAM(IP数字用户线接入复用器)系 统及实现方法,本发明涉及网络处理器技术、IP-DSLAM技术以及IPv4、IPv6 双栈技术,属于ADSL局端设备技术领域。 背景技术 实现ADSL技术,要在用户端增加ADSL(非对称数字用户线环路)的调制解 调器,而在局端,则要增设DSLAM(数字用户线接入复用器)设备。随着宽带 技术和业务的不断进展,DSLAM的功能得到了长足的发展,宽带网络的功能和 结构也在逐渐变化,今天的DSLAM已经发展成为支持多种DSL技术,具有强 大功能的综合性设备。 DSLAM的发展主要经历了三个阶段:第一代是ATM(异步传输模式)内 核,ATM上行接口的DSLAM;第二代是ATM内核,以太网上行接口的DSLAM; 第三代是IP内核,以太网上行接口的IP-DSLAM。通常,提供ATM上行的 DSLAM被称为ATM-DSLAM,而提供以太网上行的被称为IP-DSLAM,(敖 立.IPxa0DSLAM技术.江苏通信技术.2003.10.vol.19,No.5;邹辰.DSLAM现状及 其发展趋势.光通信研究.2003年第2期(总第116期))。 网络处理器(NP,Networkxa0Processor)是新一代用来执行数据处理和转 发的高速可编程处理器(张宏科,苏伟,武勇.网络处理器原理与技术.北京邮电大 学出版社,2004,11.)。与传统的处理器不同,它的设计采用了全新的理念,使其 既有ASIC(Applicationxa0Specificxa0Integratedxa0Circuit,专用集成电路)的高 速处理能力,又有完全的可编程特性。网络处理器主要包括两个功能模块,即 网络处理器单元和专用的智能协处理器单元。其中,智能协处理器单元一般需 要嵌入式操作系统的支持,用于对网络处理器单元和其他硬件单元进行控制(例 如:通过运行操作系统之上的路由协议软件包,完成路由信息的接收、处理和 发送,生成并维护路由表等)。网络处理器单元(一般有多个)通常采用多线程 结构,可以完成高速、大容量的智能数据处理功能(如数据包的收发、包头处 理和路由查询等)。由于网络处理器在网络数据处理方面的明显优势,它必将成 为高速网络设备支持业务管理、安全与网络监控、QoS(服务质量)等网络功能 必不可少的元件。因此,可以说网络处理器代表了未来网络设备设计的发展方 向。Intelxa0IXP2350网络处理器具有完全可编程的结构框架,功耗低,适用于接 入和边界设备应用,包括宽带接入设备,路由器和多服务交换机。为了达到未 来的数据面的性能要求,IXP2350网络处理器提供了强大的集成控制面处理器, 高速率核心达到1.2GHz,微引擎的主频达到900MHz。 现有的IP-DSLAM局端设备一般都是基于ASIC架构或通用处理器架构, 将DSLAM中的网络处理功能固化成硬件结构,以实现数据包的快速转发,但 其缺点是功能单一,灵活性不好,在处理上不能做到灵活性和高速率的兼备。 当出现新的网络业务时,需要重新设计硬件结构,因此开发周期长,成本高。 采用网络处理器作为处理核心,利用数据面和控制面分离的思想进行数据处理, 为设备达到线速处理提供了保证。同时高性能高速率还可以提高单板接入的 ADSL用户路数。“基于IXP2350的DSLAM”硬件上采用高灵活性的网络处理 IXP2350+PMC专用芯片来构建,实现了既能满足随网络发展复杂多样的业务要 求,也能满足随单板端口密度增加高速率的要求;软件采用数据面+控制面来构 建,这种方式能够增强功能的模块化程度,提供软件的可移植性,从而加速系 统的开发周期,同时也延长了系统的市场存活时间。 此外,现有的IP-DSLAM大部分是基于IPv4网络的处理,大都不支持IPv6技 术,而作为下一代的网络层协议标准,IPv6势必在今后得到广泛的推广和应用, IPv6代表着未来一代的互联网协议,随着技术和设备的逐渐实用化,下一代互联 网离普通百姓已经不再遥远,因此,这些产品具有一定的局限性,不能适应互 联网发展的需要。而支持IPv6协议、IPv6/IPv4过渡协议的IP-DSLAM设备是大势 所趋。因此研究IXP2350的IPv4/IPv6双栈的IP-DSLAM具有重要意义。 现有的IP-DSLAM(IP数字用户线接入复用器)局端设备一般都是基于ASIC (专用集成电路)架构或通用处理器架构,在处理上不能做到灵活性和高速率 的兼备。采用网络处理器作为处理核心,利用数据面和控制面分离的思想进行 数据处理,为设备达到线速处理提供了保证。同时高性能高速率还可以提高单 板接入的ADSL(非对称数字用户线环路)用户路数。 此外,现有的IP-DSLAM大部分是基于IPv4网络的处理,但而作为下一代 的网络层协议标准,IPv6势必在今后得到广泛的推广和应用,IPv6代表着未来 一代的互联网协议,随着技术和设备的逐渐实用化,下一代互联网离普通百姓 已经不再遥远,支持IPv6协议、IPv6/IPv4过渡协议的IP-DSLAM设备是大势所 趋。因此研究IXP2350的IPv4/IPv6双栈的IP-DSLAM具有重要意义。 发明内容 为了克服现有技术的不足,本发明提供一种IPv4/IPv6双栈IP-DSLAM系统 及实现方法。这种IP-DSLAM设备在提供基本ADSL接入的同时,还提供IPv4、IPv6 转发功能;支持静态路由、RIPng、OSPFv3、BGP协议;支持IP优先级控制及排 队策略(WRR、DRR等算法);对于宽带接入服务器功能,还支持PPPxa0over以太 ernet用户接人控制。 本发明解决其技术问题所采用的技术方案是: 基于IXP2350网络处理器设计与实现的IPv4/IPv6双栈IP-DSLAM系统包括 两大部分:一是数据面的功能实现模块;二是控制面上运行嵌入式操作模块。 还有硬件实现结构; 数据面的功能实现模块包括以下几个模块: 1)有主要完成数据包的接收和重组的数据接收模块; 2)有对于上行数据包首先进行LLC/SNAP解封装,PPPoE解封装,然后送 入IPv4/IPv6转发模块,进行路由查询,根据IPv4/IPv6路由表进行转发,然后 封装上L2头部发往下一个模块;对于下行数据包首先进行L2解封装,然后送 入IPv4/IPv6转发模块,进行路由查询,根据IPv4/IPv6路由表进行转发,再进 行LLC/SNAP封装后发送到下一个模块数据包处理模块; 3)有调度模块运行特定的调度算法,执行调度操作,在多条发送队列之间 进行资源分配和区分服务的调度和队列管理模块; 4)有主要完成将相应的数据包从指定的Port发送出去的发送模块; 5)有负责整个IP-DSLAM系统的高层控制和管理,运行RIP(RIPng)、BGP (BGP4+)、OSPF(OSPFv3)等动态路由协议,完成PPPoE功能的控制面上运行 嵌入式操作模块。 硬件实现结构的组成; 该系统从硬件上分为前端处理专用芯片和IXP2350网络处理器两部分,前端 处理专用芯片主要是完成将多路低速的ADSL线路上的数据流进行复用,并完成 调制解调功能。IXP2350主要是完成对线路侧和骨干网侧不同数据包进行格式转 换,及对IPV4及IPV6数据包的转发功能。 一种基于IXP2350网络处理器的IPv4/IPv6双栈IP-DSLAM的实现方法,包 括如下步骤: 数据面的实现: 1)数据包的接收和重组:上行处理完成对ATM信元的接收,并将其中的 PPPoE数据包解封装出来;下行处理是完成从MSF接收数据包分片,将 属于同一个数据包的数据包分片按顺序组装得到完整的数据包,并且创 建关于该数据包的描述信息。 2)数据包的处理:上行处理完成对数据包进行LLC解封装和PPPoE解封装, 然后进行路由查询、转发,封装上二层头部;下行处理完成进行二层解 封装,然后进行路由查询、转发,再进行LLC/SNAP封装。 3)调度和队列管理:上行和下行的处理是类似的,都是根据发送队列的优 先级不同,运行特定的调度算法,执行调度操作,在多条发送队列之间 进行资源分配和区分服务并,完成对发送队列执行入队和出队操作。 4)数据包的发送:接收来自上一步调度和队列管理的发送请求,将相应的 数据包从指定的端口发送出去,上行发送主要是完成对以太网包的发送, 下行主要是完成对ATM信元的发送,同时把发送状态报告给上一步的队 列调度和管理,使调度能够以适当的速度进行发送调度,避免造成发送 拥塞或者发送闲置,提高系统的整体处理性能。 控制面实现: 1)系统的初始化:加载各个微引擎上的数据处理模块及与之对应的控制 面模块,并完成二者间的通信过程。 2)运行RIP(RIPng)、BGP(BGP4+)、OSPF(OSPFv3)等动态路由协议、 网管协议:监视内核路由表,将其中变化的路由条目提取出来, 下发给路由表,从而实现控制面与数据面上路由表的同步。 3)运行PPPoE协议,维护用户的PPPoE选项,完成PPPoE链路的建立、 会话、拆除及认证、计费、管理(BAS)功能。 在网络处理器软件的设计上,分为数据层面和控制层面,在每个层面上进行 模块化设计,依次完成了对数据包的接收、数据包处理、队列调度、数据包发 送等等各个模块的设计。尤其在数据包进行路由处理过程中考虑到了数据包是 IPv4、IPv6时,都能够进行处理。数据层面利用运行效率极高的微代码进行实 现,控制层面采用C语言完成。 本发明的有益效果:提出的实现方案,很好的实现了现有的互联网在向下一 代互联网过渡过程中,应用xDSL技术作为宽带接入方式的局端高效汇聚功能, 保证了现有的互联网在向下一代互联网过渡的平稳性,还能够保证很高的接入 密度,对应用网络处理器实现IP-DSLAM提出了示范性的方法,对推动的信息产 业化有很重要的意义,也必将有很好的经济效益和社会效益。 附图说明 图1基于IXP2350网络处理器的IPv4/IPv6双栈IP-DSLAM的硬件实现结构图; 图2基于IXP2350网络处理器的IPv4/IPv6双栈IP-DSLAM的软件实现结构图; 图3从用户端到主干网的数据包类型; 图4路由系统的控制面功能模块组成示意图; 图5IP-DSLAM在具体应用中的位置。 下面结合附图和实施例对发明进一步说明。 具体实施方式 实施例1:基于IXP2350网络处理器设计与实现的IPv4/IPv6双栈 IP-DSLAM系统包括两大部分:一是数据面的功能实现模块;二是控制面上运 行嵌入式操作模块。 数据面的功能实现系统主要利用网络处理器的微引擎进行数据处理,采用微 代码进行编程实现,主要分为以下几个模块: 1)数据接收模块:主要完成数据包的接收和重组。上行数据接收主要为AAL5 接收,当网络数据以ATM信元格式到达IP-DSLAM时,首先进入AAL5xa0RX模 块进行接收处理。AAL5xa0RX模块完成ATM层、AAL5-Segmentationxa0and Reassemblyxa0Sublayer(SAR,AAL5分段重组子层)和AAL5-Commonxa0Part Convergencexa0Sublayer(CPCS,AAL5汇聚子层)功能。下行数据接收主要为来 自主干网(IP网)的数据包,负责接收数据包分片(mpacket),完成数据包的 重组,然后将组装完整的数据包交给下一个MB进行处理。 2)数据包处理模块:对于上行数据包首先进行LLC/SNAP解封装,PPPoE 解封装,然后送入IPv4/IPv6转发模块,进行路由查询,根据IPv4/IPv6路由表 进行转发,然后封装上L2头部发往下一个模块;对于下行数据包首先进行L2 解封装,然后送入IPv4/IPv6转发模块,进行路由查询,根据IPv4/IPv6路由表 进行转发,再进行LLC/SNAP封装后发送到下一个模块。 3)调度和队列管理模块:调度模块运行特定的调度算法,执行调度操作, 在多条发送队列之间进行资源分配和区分服务。队列管理模块负责对SRAM中 发送队列执行入队和出队操作。调度和队列管理模块是紧密配合、相辅相成的。 4)发送模块:主要完成将相应的数据包从指定的Port发送出去。另外,发 送模块还会将数据包的发送状态报告给调度模块,使得调度模块能够以适当的 速度进行发送调度,避免造成发送拥塞或者发送闲置,从而提高系统的整体处 理性能。 控制面上运行嵌入式操作模块,负责整个IP-DSLAM系统的高层控制和管 理,运行RIP(RIPng)、BGP(BGP4+)、OSPF(OSPFv3)等动态路由协议,完成 PPPoE功能。 实施例2:一种基于IXP2350网络处理器的IPv4/IPv6双栈IP-DSLAM的实 现方法,在进行具体代码实现时,采用上下行分离的方法对功能模块进行划分。 上行数据处理方法: 当网络数据以ATM信元格式到达IP-DSLAM时,首先进入接收模块进行 AAL5接收处理。完成ATM层、AAL5-Segmentationxa0andxa0Reassemblyxa0Sublayer (SAR)和AAL5-Commonxa0Partxa0Convergencexa0Sublayer(CPCS)功能。SAR层负 责接收48字节的信元,重组为AAL5帧,送到CPCS子层。CPCS层从SAR 层接收AAL5帧,去掉padding部分和AAL5尾部。还原出带LLC封装的PPPoE 数据交给解封装模块处理。 解封装模块包括LLC解封装和PPPoE解封装。在LLC解封装模块中,通过 检查数据包描述信息的头类型字段(headerxa0type)确定数据包是否需要解封装。 如果数据包有LLC-SNAP头,微模块通过改变描述信息,去掉LLCSNAP头。 然后根据SNAP头的协议号(protocolid)对数据包进行分类(如,以太网数据、 PPPoE发现数据包、PPPoE会话数据包等),若其值为0x8863,表示LLC头部 后面的数据部分是PPPoE发现阶段的数据包,则将其送入到XSCALE,若其值 为0x8864,表示LLC头部后面的数据部分是PPPoE会话阶段的数据包,将数 据包送入PPPoE解封装。ARP数据包发送到Xscale上。如果帧没有进行封装, 那么AAL5帧中直接就是IP数据,直接对数据包进行分类就可以了(IPv4,IPv6 等)。 对于PPPoE解封装模块,由于前面的模块已经对PPPoE的类型进行了判断, 因此,进入到此模块的数据包应该都是PPPoE会话包。在进行PPPoE解封装前 先要根据RFC2516对数据包进行一致性检验,查看版本号及类型字段是否正确 (二者的值都应该是0x01),如果不正确则直接丢弃。然后将净荷取出,微模块 通过改变描述信息,来对数据包进行解封装,将其送入IPv4/v6模块。 IPv4/v6处理模块基于3层地址对IPv4/v6数据包进行转发。首先是对数据包 根据协议类型进行分类,IPv4/v6数据包分别依据RFC1812、RFC2644和 RFC2460、RFC2373对IP数据包进行有效性的检查。如果对IP数据包的有效性 检查失败,丢弃这个包,数据包的IP头中的TTL字段减1,校验和字段的值更 新。如果数据包是有效的,为了确定数据包的下一跳(数据包要到达的下一个 目的地),要对IP数据包的目的地址进行5-trie最长前缀匹配算法的查找,得到 下一跳的一个索引,从而获得下一跳的信息。下一跳信息包括输出端口、下一 跳ID等,通过这些信息也可以获得输出端口的链路层信息。根据下一跳Nextxa0Hop ID进行表查询,获得以太包头信息。将数据包封装为以太格式之后,IPv4/v6转 发模块将数据包交给队列管理模块模块,该模块判断数据包是否合法,若合法, 向调度模块发送入队请求,将数据包加入到相应的发送队列。如果5-trie最长前 缀匹配算法失败,丢弃这个数据包,获将这个数据包标记为异常包,提交给Xscale Core处理器作进一步处理。 系统通常会将等待处理的包暂存在存储器中,“排队”等候,QM队列管理 指的就是根据一定的策略和算法对这些包进行管理。队列管理模块,通过向Sram 连接表数据结构中插入和删除的方式实现入队或出队。 调度模块主要功能是,运行特定的调度算法,执行调度操作,在多条发送 队列之间进行资源分配和区分服务。调度模块与队列管理模是紧密配合、相辅 相成的。对于发送队列来说,调度模块是管理者,队列管理是操作者,调度模 块执行特定的调度算法,得出调度结果,以出队请求的形式命令队列管理将数 据包从特定的发送队列中取出交给以太网发送模块发送出去。调度实质上就是 就是进行资源分配。具体到IXP2350的网络处理过程中,就是将发送带宽合理、 有效的分配给多个不同的发送队列。调度模块是通过将系统带宽划分为多个时 间片,为不同的发送队列分配不同的时间片的方式来进行资源分配、发送调度 的。调度模块是以时间片轮转的方式来对多个发送队列进行发送调度的。当然, 每个发送队列对发送资源的占用即调度模块运行的调度算法,可以是公平调度, 也可以是带权重的调度,这取决于实际情况。采用WRR或DRR调度算法。 以太网发送模块接收来自调度模块的发送请求(Tx请求),然后将相应的包 指定的Port发送出去。另外,以太网发送模块的发送状态报告给调度模块,使 调度模块能够适当的速度进行发送调度,避免造成发送拥塞或者发送闲置,从 而提高系统的整体处理性能。以太网发送对数据包的发送操作是以mpacket为单 位进行的。数据包发送模块将数据包分成特定大小的mpacket,从DRAM中读 出,移入TBUFxa0Elment(Transmitxa0Buffer,发送缓存),依次类推,逐次将属于同 一个数据包的mpacket(数据包分片)发送出去,从而完成对整个包的发送操作。 下行数据处理过程: 下行的数据处理实际上大概就是上行处理的一个逆过程。 太网接收模块是下行数据处理流程中的第一个环节。负责从MSF接收数据 包分片(mpacket),将属于同一个数据包的mpacket按顺序组装得到完整的数据 包,并且创建关于该数据包的描述信息metaxa0Data(包括数据包在DRAM中的 存储位置、数据包的大小等信息),然后将组装完整的数据包交给下一个模块(即 L2解封装模块)进行处理。 L2解封装模块使用以太头中的以太类型字段来区分数据包为 IPv4,IPv6,ARP等类型,ARP、路由等类型包交给Xscale处理。IPv4/v6包交给 下一个模块IPv4/v6处理模块 IPv4/v6处理模块基于3层地址和PPP选项对IPv4/v6数据包进行处理,并 最终封装成ATM格式。首先是对数据包根据协议类型进行分类,IPv4/v6数据 包分别依据RFC1812、RFC2644和RFC2460、RFC2373对IP数据包进行有效 性的检查。如果对IP数据包的有效性检查失败,丢弃这个包,数据包的IP头中 的TTL字段减1,校验和字段的值更新;再根据PPP选项,封装成PPPoE格式 后,交给LLC封装模块,封装成LLC模块后交给交给队列管理模块模块,该模 块判断数据包是否合法,若合法,向调度模块发送入队请求,将数据包加入到 相应的发送队列。 关于调度和队列管理模块的操作与上行类似,这里不重复了。 控制面处理 控制面运行在IXP2350的XScale上,控制面完成的主要功能有:完成系统 的初始化;运行PPPoE协议,维护用户的PPPoE选项,够完成PPPoE链路的建 立、会话、拆除及认证、计费、管理(BAS)功能;运行路由协议、网管协议; 处理ARP、路由等异常数据包及对用户线路的管理;数据面上的每一个模块在 控制面上都有一个相应的模块与之对应,管理每个模块。 其中路由协议通过OSAL(OSxa0Abstractionxa0Layer,操作系统抽象层) 与操作系统进行交互,增强路由协议的可移植性。RCM(Routexa0Cache Manager,路由缓存管理)模块用于监视内核路由表,将其中变化的路由条 目提取出来,下发给路由表,从而实现控制面与数据面上路由表的同步。 C&Mxa0Apps(Control/Managexa0Apps,控制/管理应用程序)是用于对整个路 由系统进行控制和管理的应用程序(如用于网络管理的SNMP、用于对整个 系统进行配置管理的命令行接口CLI等)。NPFxa0Apps&Managementxa0API(NPF Application&Managementxa0API,NPF应用程序/管理应用程序接口)为高 层应用程序(如之前介绍的RCM、C&Mxa0Apps等)提供编程接口,提高软件 的可移植性。 实施例3: 如上图所示,用户设备phone(电话)、PC(个人电脑)通过modem(调制 解调器)连接到ADSL(数字用户线环路)线路上,ADSL线路进入局端后就直 接连接到IP-DSLAM上。IP-DSLAM在具体应用中处于局端的位置,由于此系 统是IP内核,而且具有路由和服务功能,因此可以直接上联IP骨干网 (IPv4/IPv6)。向下通过用户线,经过分离器(spliter)把语音和数据信号进行 分离,到达用户端。经过代码的仿真测试,此系统的处理能力单板至少能够达 到支持64路用户线。 一种基于IXP2350网络处理器的IPv4/IPv6双栈IP-DSLAM的实现方法,包 括如下步骤; 步骤1;整体设计,系统硬件上采用前端处理专用芯片和IXP2350网络处 理器两部分,软件上采用模块化设计,数据面与控制面分别设计。 步骤2;数据面的设计与实现。分别进行上行数据处理、下行数据处理的设 计。上行下行都是分为接收、数据包处理、队列调度、发送等模块。用微代码 对每个模块进行实现,并分别对每个模块进行测试。 步骤3;控制面的设计与实现。控制面上运行嵌入式操作模块。先要完成对 每个数据面模块进行控制模块的设计,每个数据面的模块在控制面上都有一个 模块与之对应,完成对数据面的管理;其次要完成在控制面上的路由协议的实 现,控制面要运行RIP(RIPng)、BGP(BGP4+)、OSPF(OSPFv3)等动态路由协 议,实现对IPv4/IPv6数据包路由功能;然后还要完成对点到点协议的链路管理、 控制、计费功能。用c代码完成对控制面各个模块的实现并对每个模块进行测 试。 步骤4;系统的整体实现。先完成数据面、控制面都进行完各自单模块测试 后。然后实现数据面和控制面之间的通信接口。最后完成对系统的整体测试, 及整体功能的实现。